* {
  margin: 0;
  padding: 0;
}
*,
*::before,
*::after {
  box-sizing: inherit;
}
html {
  box-sizing: border-box;
  /* Set font size for easy rem calculations
   * default document font size = 16px, 1rem = 16px, 100% = 16px
   * (100% / 16px) * 10 = 62.5%, 1rem = 10px, 62.5% = 10px
  */
  font-size: 62.5%;
  scroll-behavior: smooth;
}
/* 1200px / 16px = 75em */
@media (max-width: 75em) {
  html {
    font-size: 60%;
  }
}
/* 980px / 16px = 61.25em */
@media (max-width: 61.25em) {
  html {
    font-size: 58%;
  }
}
/* 460px / 16px = 28.75em */
@media (max-width: 28.75em) {
  html {
    font-size: 55%;
  }
}
body {
  font-family: 'FangSong';
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.4;
}
h1,
h2 {
  font-weight: 700;
  text-align: center;
}
h1 {
  font-size: 6rem;
}
h2 {
  font-size: 4.2rem;
}
ul {
  list-style: none;
}
a {
  text-decoration: none;
}
img {
  display: block;
  width: 100%;
}
.nav {
  display: flex;
  justify-content: flex-end;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 10;
}
.nav .nav-list {
  display: flex;
  margin-right: 2rem;
}
.nav .nav-list a {
  display: block;
  color: white;
  font-size: 2.2rem;
  padding: 2rem;
}
@media (max-width: 28.75em) {
  .nav {
    justify-content: center;
  }
  .nav-list {
    margin: 0 1rem;
  }
}
#ayi {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  background: linear-gradient(235deg, #8e9eab 0%, #eef2f3 100%);
}
#ayi h1 {
  animation: h1a 1s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
}
@keyframes h1a {
  0% {
    -webkit-filter: blur(12px);
    filter: blur(12px);
    opacity: 0;
  }
  100% {
    -webkit-filter: blur(0px);
    filter: blur(0px);
    opacity: 1;
  }
}
#ayi a {
  color: #000000;
  transition: all 0.3s ease-in;
}
#ayi a:hover {
  color: white;
}
#ayi button {
  margin-top: 5rem;
  position: relative;
  padding: 1.9rem 3.6rem;
  display: block;
  text-decoration: none;
  text-transform: uppercase;
  overflow: hidden;
  border-radius: 4rem;
  border: none;
  background-color: rgba(142, 158, 171, 0.5);
}
#ayi button span {
  position: relative;
  color: #000000;
  font-family: Arial;
  letter-spacing: 8px;
  z-index: 1;
}
#ayi button .btn {
  position: absolute;
  top: -80px;
  left: 0;
  width: 100%;
  height: 200px;
  background: #acb8c1;
  box-shadow: inset 0 0 50px rgba(0, 0, 0, 0.5);
  transition: 0.5s;
}
#ayi button .btn::before,
#ayi button .btn::after {
  content: '';
  width: 200%;
  height: 200%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -75%);
  background: #fff;
}
#ayi button .btn::before {
  border-radius: 45%;
  background: #141414;
  animation: animate 5s linear infinite;
}
#ayi button .btn::after {
  border-radius: 40%;
  background: rgba(20, 20, 20, 0.5);
  animation: animate 10s linear infinite;
}
@keyframes animate {
  0% {
    transform: translate(-50%, -75%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -75%) rotate(360deg);
  }
}
#demo {
  width: 100%;
  background-color: black;
  padding: 5rem 2rem;
}
#demo .demo-title {
  max-width: 540px;
  margin: 5rem auto;
  padding: 2rem;
  font-size: 2.5rem;
  color: #fff;
  border-bottom: 1rem solid #6e6e6e;
}
#demo .content {
  display: grid;
  grid-template-columns: repeat(2, minmax(320px, 1fr));
  grid-gap: 4rem;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  margin-bottom: 6rem;
}
#demo .content .box {
  text-align: center;
  color: #8e9eab;
  transition: transform 0.3s ease-in;
}
#demo .content .box .box-img {
  width: 100%;
  height: 40rem;
  object-fit: contain;
}
#demo .content .box .box-font {
  font-size: 3rem;
  font-weight: 700;
  margin: 2rem;
  animation: text-focus-in 1s cubic-bezier(0.55, 0.085, 0.68, 0.53) both;
}
@keyframes text-focus-in {
  0% {
    -webkit-filter: blur(12px);
    filter: blur(12px);
    opacity: 0;
  }
  100% {
    -webkit-filter: blur(0px);
    filter: blur(0px);
    opacity: 1;
  }
}
#demo .content .box:hover {
  transform: scale(1.2);
  z-index: 8;
}
@media (max-width: 30.625em) {
  #demo #demo {
    padding: 5rem 1rem;
  }
  #demo .demo-title {
    font-size: 3rem;
  }
  #demo .content {
    grid-template-columns: 1fr;
  }
  #demo .content .box .box-img {
    height: 20rem;
  }
  #demo .content .box .box-font {
    font-size: 2.5rem;
  }
}
#more {
  width: 100%;
  background: linear-gradient(45deg, #92B6A1 27%, #1B6F52 67%);
  height: 100vh;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#more h2 {
  color: #eef2f3;
}
#more p {
  margin: 4rem auto;
  font-size: 2.5rem;
  font-style: oblique;
  font-weight: 600;
}
#more .csdn {
  border: none;
  background: none;
}
#more .csdn span {
  padding-bottom: 7px;
  letter-spacing: 4px;
  font-size: 10px;
  padding-right: 15px;
  text-transform: uppercase;
}
#more .csdn svg {
  transform: translateX(-8px);
  transition: all 0.3s ease;
}
#more .csdn:hover svg {
  transform: translateX(0);
}
#more .csdn:active svg {
  transform: scale(0.9);
}
#more .hover-underline-animation {
  position: relative;
  color: black;
  padding-bottom: 20px;
}
#more .hover-underline-animation:after {
  content: "";
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1.5px;
  bottom: 0;
  left: 0;
  background-color: #000000;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
}
#more .csdn:hover .hover-underline-animation:after {
  transform: scaleX(1);
  transform-origin: bottom left;
}
footer {
  background-color: #bfc9d0;
  text-align: center;
  padding: 2rem;
}
